#pragma once
#include "direnderer.h"
#include "dimage.h"

namespace sf
{
	class RenderWindow;
};

class DRendererSFML :
	public DIRenderer
{
public:
	DRendererSFML(boost::shared_ptr<sf::RenderWindow> device);
	~DRendererSFML(void);

    boost::shared_ptr<sf::RenderWindow> device() const;

	void render(boost::shared_ptr<DIActor> actor);
	void render(const std::list<boost::shared_ptr<DIActor> >& actors);

	void render(boost::shared_ptr<DBackground> back);
private:
	// one and only sprite for drawing
	boost::weak_ptr<sf::RenderWindow> m_device;
};
